package com.itheima.mapper;

import com.github.pagehelper.Page;
import com.itheima.pojo.ClassQueryParam;
import com.itheima.pojo.Clazz;
import com.itheima.pojo.Emp;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

@Mapper
public interface ClassMapper {
    /**
     * 条件分页查询班级（包含班主任姓名）

     * @return 班级分页数据
     */
    List<Clazz> lists(ClassQueryParam classQueryParam);
    /**
     * 添加班级
     * @param clazz 班级对象
     */
    void insertClazz(Clazz clazz);

    /**
     * 根据ID删除班级
     * @param id 班级ID
     */
    void deleteById(Integer id);

    /**
     * 根据ID查询班级（包含班主任姓名）
     * @param id 班级ID
     * @return 班级对象
     */
    Clazz getById(Integer id);

    /**
     * 根据ID修改班级
     * @param clazz 班级对象
     */
    void updateById(Clazz clazz);

    /**
     * 查询所有班级（包含班主任姓名）
     * @return 班级列表
     */
    List<Clazz> getAllClasses();

    /**
     * 查询所有班主任（职位为班主任的员工）
     * @return 班主任列表
     */
    List<Emp> getAllMasters();
    /**
     * 查询所有班主任（职位为班主任的员工）
    */
    List<Clazz>list();
}
